smartphone hardware